Scoping Constructs for Software Generators

نویسندگان

  • Yannis Smaragdakis
  • Don S. Batory
چکیده

A well-known problem in program generation is scoping. When identifiers (i.e., symbolic names) are used to refer to variables, types, or functions, program generators must ensure that generated identifiers are bound to their intended declarations. This is the standard scoping issue in programming languages, only automatically generated programs can quickly become too complex and maintaining bindings manually is hard. In this paper we present generation scoping: a language mechanism to facilitate the handling of scoping concerns. Generation scoping offers control over identifier scoping beyond the scoping mechanism of the target programming language (i.e., the language in which the generator output is expressed). Generation scoping was originally implemented as an extension of the code template operators in the Intentional Programming platform, under development by Microsoft Research. Subsequently, generation scoping has also been integrated in the JTS language extensibility tools. The capabilities of generation scoping were invaluable in the implementation of two actual software generators: DiSTiL (implemented using the Intentional Programming system), and P3 (implemented using JTS).

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Scoping Constructs for Program Generators

Program generation is the process of generating code in a high-level language (e.g., C, C++, Java) to implement an abstract specification of a program. Generated programs are created by synthesizing and composing code fragments. Binding identifiers in generated code with their correct variable declarations has been the focus of a lot of research work in the context of macro-expansion (e.g., hyg...

متن کامل

DSLFORGE: Textual Modeling on the Web

The use of Model-Driven Engineering in software development is increasingly growing in industrial applications as the technologies are becoming more mature. In particular, domain-specific languages bring to end-users simplicity of use and productivity by means of various artifacts generators. However, end-users still need to cope with heavy modeling infrastructures and complex deployment proced...

متن کامل

JTS: tools for implementing domain-specific languages

The Jakarta Tool Suite (JTS) aims to reduce substantially the cost of generator development by providing domainindependent tools for creating domain-specific languages and component-based generators called GenVoca generators. JTS is a set of precompiler-compiler tools for extending industrial programming languages (e.g., Java) with domain-specific constructs. JTS is itself a GenVoca generator, ...

متن کامل

A Process and Retrospection on Creating a Domain Model for Avionic Software** ADAGE-UT-93-04

ADAGE is a project to define and realize a domain-specific software architecture (DSSA) technology for assisting the development of avionics software. The central concept of DSSA is the use of software system generators that implement component-based models of software systems in the target domain [SEI90]. We have developed a domain model for avionics software using the GenVoca domain modeling ...

متن کامل

IFM2005 Doctoral Symposium on Integrated Formal Methods

Current mechanizations of programming logics are often in the form of verification condition generators. These frontends to a prover translate a program and assertions into conditions that when proven state that the program fulfils its assertions. Traditional verification condition generators are monolithic encapsulations of a programming language’s semantics. This makes it hard to build such v...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999